#import <UIKit/UIKit.h>

enum kPICalViewStyle {
    kPICalViewStyleTraditional = 0,
    kPICalViewStyleTimeAtStart = 1,
    kPICalViewStyleTimeAtEnd = 2
};

enum kPICalDaySummaryStyle {
    kPICalDaySummaryStyleNone = 0,
    kPICalDaySummaryStyleEventsOnly = 1,
    kPICalDaySummaryStyleFull = 2
};


extern NSString* const kPICalOptionsViewStyle;
extern NSString* const kPICalOptionsShowCalendar;
extern NSString* const kPICalOptionsDaySummary;
extern NSString* const kPICalOptionsFutureOnly;
extern NSString* const kPICalOptionsShowAvailability;

extern NSInteger const kPICalOptionsViewStyleDefault;
extern BOOL const kPICalOptionsShowCalendarDefault;
extern NSInteger const kPICalOptionsDaySummaryDefault;
extern BOOL const kPICalOptionsFutureOnlyDefault;
extern BOOL const kPICalOptionsShowAvailabilityDefault;


@interface PICalStatus : NSObject
{
    NSInteger itemsReturnedCount;   // Number of items returned by selecting data
    NSInteger itemsFilteredCount;   // Number of items removed from the selected list
    NSInteger itemsWithDetailsCount;     // Number of items that have details to display

    BOOL showEmoji; // Setting of "show emoji" in config
    BOOL lowColour;
    
    NSInteger shortDates;
    BOOL showIcons;
    BOOL showCalendar;
    kPICalViewStyle viewStyle;
    BOOL singleLineOniPad;
    NSInteger showListDetails;   // Setting of "show details" in config
    
    NSDate* nextChangeDue;
    NSDate* nextAlarmDue;
    
    NSInteger mapViewType;
}


@property (assign) NSInteger itemsReturnedCount;
@property (assign) NSInteger itemsFilteredCount;
@property (assign) NSInteger itemsWithDetailsCount;

@property (assign, getter=isShowEmoji) BOOL showEmoji;
@property (assign, getter=isLowColour) BOOL lowColour;

@property (assign) NSInteger shortDates;
@property (assign, getter=isShowIcons) BOOL showIcons;
@property (assign, getter=isShowAvailability) BOOL showAvailability;
@property (assign) kPICalViewStyle viewStyle;
@property (assign) kPICalDaySummaryStyle daySummaryStyle;
@property (assign, getter=isShowCalendar) BOOL showCalendar;
@property (assign, getter=isSingleLineOniPad) BOOL singleLineOniPad;
@property (assign) NSInteger showListDetails;

@property (retain) NSDate* nextChangeDue;
@property (retain) NSDate* nextAlarmDue;

@property (assign, getter=hasShownDialHelp) BOOL shownDialHelp;

@property (assign) NSInteger mapViewType;


- (id)init;
- (void)dealloc;

@end
